| Предыдущая | Следующая | Оглавление | |
Flash Player 6.
myFunction.call(thisObject:Object,parameter1, ...,parameterN)
thisObject Объект, который указывает значение this в пределах тела функции.
parameter1 Параметр, передаваемый myFunction. Вы можете указать ноль или большее их количество.
parameterN
Ничего.
Метод; вызывает функцию, представленную объектом Function. Любая функция в ActionScript представляется объектом Function, таким образом все функции поддерживают этот метод.
Почти во всех случаях, оператор вызова функции (()) может быть использован взамен этого метода. Оператор вызова функции создает более краткий и удобочитаемый код. Этот метод полезен, в основном, когда параметр this, при вызове функции, требует явного контроля. Обычно, если функция вызывается как метод объекта, в пределах тела функции this приравнивается к myObject, как показано в следующем примере:
myObject.myMethod(1, 2, 3);
В некоторых ситуациях, вы, возможно, захотите, чтобы this указывал на что-либо другое; например, если функция должна быть вызвана как метод объекта, не не является методом этого объекта:
myObject.myMethod.call(myOtherObject, 1, 2, 3);
Вы можете отправить значение null, как параметр thisObject, при вызове функции в качестве регулярной, но не как метод объекта. Например, следующие вызовы функций эквивалентны:
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)
Следующий пример использует Function.call() для того, чтобы функция вела себя как метод другого объекта, без хранения функции в объекте:
function myObject() {
}
function myMethod(obj) {
trace("this == obj? " + (this == obj));
}
var obj:Object = new myObject();
myMethod.call(obj, obj);
Выражение trace() покажет:
this == obj? true
Function.apply()
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |